perm filename LOSS.1[MRS,LSP] blob
sn#643413 filedate 1982-02-24 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00010 00003 (fasload struct fas dsk (mac lsp))
C00014 ENDMK
C⊗;
(DEFUN ANALYZE-CMPD-CONCEPT (LT-FORM &optional AL-VARS)
(CASEQ (LT-CONCEPT-TYPE LT-FORM)
((ATOMICPROPO F-TERM)
(SETF (ROLELINKS (CONCEPT-BODY LT-FORM))
(ORDER-ROLELINKS (CONCEPT-BODY LT-FORM)) )
(COND (
(FUNCALL (ISA-OF:LT . λ-EXPR) LT-FORM)
(LET ((DO-LIST))
(COND ((SETQ DO-LIST (MERGED-PKLS (LT-PATHKEYLISTS LT-FORM)))
(ANALYZE-ROLEMERGE DO-LIST LT-FORM) )
((SETQ DO-LIST (INST-KEYS LT-FORM))
(ANALYZE-INSTANTIATION DO-LIST LT-FORM) )
((ANALYZE-ADVERBIALIZATION LT-FORM)) ) ) )
((ANALYZE-INSTANTIATION (INST-KEYS LT-FORM) LT-FORM)) ) )
(QUANTIFIERFORM
(LET* ((QUANTBODY (CONCEPT-BODY LT-FORM))
(OLDPATHKEYLISTS (COND (
(FUNCALL (ISA-OF:LT . λ-EXPR) LT-FORM)
(LT-PATHKEYLISTS LT-FORM))) )
(QSORT-NEWPATHKEYLIST
(CONS
(TERMSORT QUANTBODY)
(ORDER-PATHKEYS
(MAPCAR #'IMPLODE
(QUANT-QUASI-UNSUBST
QUANTBODY
(FUNCALL (THE-OF:LT-QUANT . QSORTEXPR) QUANTBODY)
) ) ) ) )
(SCOPE-NEWPATHKEYLIST
(CONS (TERMSORT QUANTBODY)
(ORDER-PATHKEYS
(MAPCAR #'IMPLODE
(QUANT-QUASI-UNSUBST
QUANTBODY
(FUNCALL (THE-OF:LT-QUANT . SCOPE) QUANTBODY)
) ) ) ) )
(QSORTλ-EXPR (SETUP-λ-EXPR QSORT-NEWPATHKEYLIST
OLDPATHKEYLISTS 'A
(FUNCALL (THE-OF:LT-QUANT . QSORTEXPR) QUANTBODY)
))
(SCOPEλ-EXPR (SETUP-λ-EXPR SCOPE-NEWPATHKEYLIST
OLDPATHKEYLISTS 'B
(FUNCALL (THE-OF:LT-QUANT . SCOPE) QUANTBODY)
))
(Q-OPERATOR (GET-Q-OP QSORT-NEWPATHKEYLIST QSORTλ-EXPR
SCOPE-NEWPATHKEYLIST SCOPEλ-EXPR )) )
(LIST Q-OPERATOR
(FUNCALL (THE-OF:LT-QUANT . DETERMINER) QUANTBODY)
(NRML-ANL-YZE-CC QSORTλ-EXPR AL-VARS)
(NRML-ANL-YZE-CC SCOPEλ-EXPR AL-VARS) ) )
)
(↑-TERM
(LET* ((λ-EXPR-FLAG
(FUNCALL (ISA-OF:LT . λ-EXPR) LT-FORM)
)
(↑-MATRIX-EXPR
(COND
(λ-EXPR-FLAG
(LET ((λ-SCOPE (↑↓-MATRIX (LT-λ-SCOPE LT-FORM))))
(COND ((AND (EQ 'ATOMICPROPO (LT-TYPE λ-SCOPE))
(ATOM-CONVERTIBLE (LT-PATHKEYLISTS LT-FORM)
λ-SCOPE ) )
(PFC-CONCEPT λ-SCOPE) )
(T (MAKE-LT-λ-EXPR
λ-PREFIX (MAKE-LT-λ-PREFIX
PATHKEYLISTS
(COPYALLCONS
(LT-PATHKEYLISTS LT-FORM) ) )
λ-SCOPE λ-SCOPE )) ) ) )
(T (↑↓-MATRIX LT-FORM)) ) ) )
(COND (λ-EXPR-FLAG (LOWER-λ-TERMSORTS
(LT-PATHKEYLISTS ↑-MATRIX-EXPR) )))
(COND ((MEMQ '↑-MATRIX-ANALYSIS-LIST AL-VARS)
(PROCESS-↑-MATRIX ↑-MATRIX-EXPR λ-EXPR-FLAG) )
(T (1ST-PROCESS-↑-MATRIX ↑-MATRIX-EXPR λ-EXPR-FLAG)) ) ) )
(NEGPROPO
(LET* ((JUNCT-MATRIX (ARGUMENT (CAR (ROLELINKS (CONCEPT-BODY LT-FORM)))))
(JUNCT-EXPR
(COND (
(FUNCALL (ISA-OF:LT . λ-EXPR) LT-FORM)
(LET ((NEWPATHKEYLISTS
(SELECT&SHORTEN 'A (LT-PATHKEYLISTS LT-FORM))))
(COND ((AND (EQ 'ATOMICPROPO (LT-TYPE JUNCT-MATRIX))
(ATOM-CONVERTIBLE NEWPATHKEYLISTS
JUNCT-MATRIX ) )
(PFC-CONCEPT JUNCT-MATRIX) )
(T (MAKE-LT-λ-EXPR
λ-PREFIX (MAKE-LT-λ-PREFIX
PATHKEYLISTS NEWPATHKEYLISTS )
λ-SCOPE JUNCT-MATRIX )) ) ) )
(T JUNCT-MATRIX) ) ) )
(LIST 'CNCT*A '¬ (NRML-ANL-YZE-CC JUNCT-EXPR AL-VARS)) ) )
((CONJ-PROPO DISJ-PROPO)
(PUSH 'JUNCT-ANALYSIS-LIST AL-VARS)
(DO ((ARGTAIL (ROLELINKS (CONCEPT-BODY LT-FORM)) (CDR ARGTAIL))
(ALPHATAIL ALPHABET (CDR ALPHATAIL))
(JUNCT-MATRIX) (JUNCT-EXPR) (JUNCT-PATHKEYLISTS)
(NORML-JUNCT-LIST) (JUNCT-ANALYSIS-LIST) )
((NULL ARGTAIL)
(FIX-AL JUNCT-ANALYSIS-LIST)
(SETQ NORML-JUNCT-LIST (ORDER-JUNCTS (CULL-EQS NORML-JUNCT-LIST)
JUNCT-ANALYSIS-LIST ) )
(LIST* (IMPLODE (NCONC (EXPLODE 'CNCT*)
(NCONS (PREVIOUS-LETTER (CAR ALPHATAIL))) ))
(PFC-CONCEPT (CONCEPT-BODY LT-FORM))
NORML-JUNCT-LIST ) )
(SETQ JUNCT-MATRIX (ARGUMENT (CAR ARGTAIL))
JUNCT-EXPR
(COND (
(FUNCALL (ISA-OF:LT . λ-EXPR) LT-FORM)
(SETQ JUNCT-PATHKEYLISTS
(SELECT&SHORTEN (CAR ALPHATAIL)
(LT-PATHKEYLISTS LT-FORM) ) )
(COND ((AND (EQ 'ATOMICPROPO (LT-TYPE JUNCT-MATRIX))
(ATOM-CONVERTIBLE JUNCT-PATHKEYLISTS
JUNCT-MATRIX ) )
(PFC-CONCEPT JUNCT-MATRIX) )
(T (MAKE-LT-λ-EXPR
λ-PREFIX (MAKE-LT-λ-PREFIX
PATHKEYLISTS JUNCT-PATHKEYLISTS )
λ-SCOPE JUNCT-MATRIX )) ) )
(T JUNCT-MATRIX) ) )
(ENDADD (NRML-ANL-YZE-CC JUNCT-EXPR AL-VARS) NORML-JUNCT-LIST) ) )
(T (BREAK "ANALYZE-CMPD-CONCEPT - unrecognized form type")) ) )
(fasload struct fas dsk (mac lsp))
(fasload mlmac fas dsk (mac lsp))
(load "atc.lsp")
(DO ((TALLY 1 (1+ TALLY))
(LINFORMULA (READ) (READ)) )
((NULL LINFORMULA) "DONE")
(NRML-ANL-YZE (ENCODE-LINFORMULA LINFORMULA))
(WRITE "Finished with formula " TALLY T) )
; John picks up hammer1 from his desk in order to move it.
((some ↑x (concept ↑x (of hammer1))) ;; input formula
(pickup john hammer1
(from (!desk john))
(inorderthat (↑(move i (↓ ↑x)))) ) )
; John picks up hammer1 carefully, so as not to move anything else on his desk.
((some ↑x (concept ↑x (of (!desk john))) ;; input formula
↑y (concept ↑y (of hammer1)) )
(pickup john hammer1
(from (!desk john))
(withcarethat (↑((all z (and (physob z)
(on z (↓ ↑x))
(not (= z (↓ ↑y))) ))
(not (move i z)) ))) ) )
; Being careful not to move anything else on his desk,
; John picks up hammer1 with his right hand in order to drive a nail with it.
((some ↑x (concept ↑x (of (!desk john))) ;; input formula
↑y (concept ↑y (of hammer1))
z (nail z)
↑w (concept ↑w (of z)) )
(pickup john hammer1
(with (!right-hand john))
(from (!desk john))
(inorderthat (↑(drive i (↓ ↑w) (with (↓ ↑y)))))
(withcarethat (↑((all v (and (physob v)
(on v (↓ ↑x))
(not (= v (↓ ↑y))) ))
(not (move i v)) ))) ) )
; Mike wants to meet Jim's wife. [default interpretation]
(want mike (↑(meet i (!wife jim)))) ;; input formula pa1
; Mike wants to meet Jim's wife. [second interpretation]
((some ↑s (concept ↑s (of (!wife jim))))
(want mike (↑(meet i (↓ ↑s)))) ) ;; input formula pa2
; Pat believes that Mike wants to meet Jim's wife. [default interpretation]
(believe pat (↑(want mike (↑(meet i (!wife jim)))))) ;; input formula pa3
; Pat believes that Mike wants to meet Jim's wife. [second interpretation]
(believe pat (↑((some ↑s (concept ↑s (of (!wife jim))))
(want mike (↑(meet i (↓ ↑s)))) ))) ;; input formula pa4
; Pat believes that Mike wants to meet Jim's wife. [third interpretation]
((some ↑s (concept ↑s (of (!wife jim)))
↑2s (concept ↑2s (of ↑s)) )
(believe pat (↑(want mike (↑(meet i (↓ ↑2s)))))) ) ;; input formula pa5
; Pat believes that there is someone whom Mike has never met.
(believe pat (↑((some s person)
(not ((some t past-time)
(meet mike s (att t)) )) ))) ;; input formula pa6
()